#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>


int main()//测试孤儿进程
{
    pid_t id = fork();
    if(id<0)
        return 1;
    if(id == 0)
    {
        while(1)
        {
            printf("I am child,running any time!\n");
            sleep(1);
        }
    }
    else
    {
        int cnt = 5;

        while(cnt>=0)
        {
            printf("I am father,run times:%d \n",cnt--);
            sleep(1);
        }
        printf("I am father,dead\n");
        _exit(1);
    }
    return 0;
}

//int main()///测试僵尸进程
//{
//    pid_t id =fork();
//    if(id<0)
//    {
//        return 1;
//    }
//    if(id == 0)
//    {
//        int cnt = 5;
//        while(cnt>=0)
//        {
//            printf("I am child,run times:%d \n",cnt--);
//            sleep(1);
//        }
//        printf("I am child,dead\n");
//        _exit(1);
//    }
//    else 
//    {
//        while(1)
//        {
//            printf("I am father,running any time!\n");
//            sleep(1);
//        }
//    }
//
//    return 0;
//    
//
//}


//int main()///测试进程状态
//{
//    int n = 0;
//    scanf("%d",&n);
//    //while(1);
//    return 0;
//}



//int main()
//{
//    //printf("pid: %d\n",getpid());
//    //printf("ppid: %d\n",getppid());
//    
//    //int ret = fork();
//    //printf("hello proc : %d!,ret: %d\n",getpid(),ret);
//    //sleep(1);
//
//    int ret = fork();
//    if(ret < 0)
//    {
//        perror("fork");
//        return 1;
//    }
//    if(ret == 0)
//    {
//        printf("I am child : %d ! ret = %d\n",getpid(),ret);
//    }
//    else 
//    {
//        printf("I am father : %d ! ret = %d\n",getpid(),ret);
//    }
//    sleep(1);
//    return 0;
//}
